home *** CD-ROM | disk | FTP | other *** search
/ Champak 119 / (Vol 119) Nov 09 2010.iso / Games / orbitrax.swf / scripts / DefineSprite_1014 / frame_1 / DoAction.as
Text File  |  2010-11-09  |  7KB  |  267 lines

  1. function addObjIfHit(anObj, hitType, tableType)
  2. {
  3.    var i = 1;
  4.    while(i <= hitZoneQty)
  5.    {
  6.       if(anObj.hitTest(eval(hitType + i)))
  7.       {
  8.          eval(tableType + i).push(anObj);
  9.       }
  10.       i++;
  11.    }
  12. }
  13. function startTimer(thisTimeOut)
  14. {
  15.    initTimer = getTimer() / 1000;
  16.    clock._visible = true;
  17.    bumpSnd.gotoAndPlay("popup");
  18.    clock.onEnterFrame = function()
  19.    {
  20.       timeElaped = Math.abs(getTimer() / 1000) - initTimer;
  21.       clock.showTime(timeElaped,thisTimeOut);
  22.       if(thisTimeOut - Math.floor(timeElaped) <= 0)
  23.       {
  24.          clock._visible = false;
  25.          main.keyActive = true;
  26.          main.energyBar.energyBar.bar._x = main.energyGame;
  27.          delete clock.onEnterFrame;
  28.       }
  29.    };
  30. }
  31. function getName()
  32. {
  33.    i++;
  34.    return "o" + i;
  35. }
  36. function fadeLine(line)
  37. {
  38.    var _loc1_ = line;
  39.    _loc1_._alpha -= aDec;
  40.    if(_loc1_._alpha <= 0)
  41.    {
  42.       clearInterval(_loc1_.intervalID);
  43.       removeMovieClip(_loc1_);
  44.    }
  45. }
  46. function traceLine(objX, objY, gObj, moveTo)
  47. {
  48.    var _loc1_ = gObj;
  49.    pt = allCar.getPoint(allCar.car.wbl);
  50.    objXL = objX + pt.x;
  51.    objYL = objY + pt.y;
  52.    pt = allCar.getPoint(allCar.car.wbr);
  53.    objXR = objX + pt.x;
  54.    objYR = objY + pt.y;
  55.    lineL.lineStyle(_loc1_.tline,_loc1_.cline,_loc1_.aline);
  56.    if(moveTo)
  57.    {
  58.       lineL.moveTo(objXL,objYL);
  59.    }
  60.    lineL.lineTo(objXL,objYL);
  61.    lineL = map.createEmptyMovieClip("line" + cl,100 + cl++);
  62.    lineL.moveTo(objXL,objYL);
  63.    lineL.intervalID = setInterval(fadeLine,sfade,lineL);
  64.    lineR.lineStyle(_loc1_.tline,_loc1_.cline,_loc1_.aline);
  65.    if(moveTo)
  66.    {
  67.       lineR.moveTo(objXR,objYR);
  68.    }
  69.    lineR.lineTo(objXR,objYR);
  70.    lineR = map.createEmptyMovieClip("line" + cl,100 + cl++);
  71.    lineR.moveTo(objXR,objYR);
  72.    lineR.intervalID = setInterval(fadeLine,sfade,lineR);
  73.    cl %= mline;
  74. }
  75. function checkBorder(obj, line)
  76. {
  77.    var _loc1_ = line;
  78.    var _loc2_ = obj;
  79.    if(_loc1_.tcol)
  80.    {
  81.       if(_loc2_.hitZone.hitTest(_loc1_))
  82.       {
  83.          var dx = _loc1_._x - _loc2_._x;
  84.          var dy = _loc1_._y - _loc2_._y;
  85.          var y1 = _loc1_.cosa * dy - _loc1_.sina * dx;
  86.          var _loc3_ = _loc1_.cosa * _loc2_.vy - _loc1_.sina * _loc2_.vx;
  87.          if(y1 < 1 && y1 > - _loc3_)
  88.          {
  89.             var x1 = _loc1_.cosa * dx + _loc1_.sina * dy;
  90.             var vx1 = _loc1_.cosa * _loc2_.vx + _loc1_.sina * _loc2_.vy;
  91.             y1 = 1;
  92.             var vFactor = Math.abs(_loc2_.speed) >= 1 ? Math.abs(_loc2_.speed) : 1;
  93.             _loc3_ *= bounce * vFactor;
  94.             _loc2_.tspeed = 0;
  95.             _loc3_ = _loc3_ <= - _loc2_.trust ? _loc3_ : - _loc2_.trust;
  96.             _loc2_.vx = _loc1_.cosa * vx1 - _loc1_.sina * _loc3_;
  97.             _loc2_.vy = _loc1_.cosa * _loc3_ + _loc1_.sina * vx1;
  98.             dx = _loc1_.cosa * x1 - _loc1_.sina * y1;
  99.             dy = _loc1_.cosa * y1 + _loc1_.sina * x1;
  100.             return true;
  101.          }
  102.       }
  103.       return false;
  104.    }
  105. }
  106. function checkObs(obj1, obj2)
  107. {
  108.    var _loc1_ = obj2;
  109.    var _loc2_ = obj1;
  110.    var dx = _loc1_._x - _loc2_._x;
  111.    var _loc3_ = _loc1_._y - _loc2_._y;
  112.    var dist = Math.sqrt(dx * dx + _loc3_ * _loc3_);
  113.    if(dist < _loc2_.ray + _loc1_.ray)
  114.    {
  115.       var angle = Math.atan2(_loc3_,dx);
  116.       cosa = Math.cos(angle);
  117.       sina = Math.sin(angle);
  118.       vx1p = cosa * _loc2_.vx + sina * _loc2_.vy;
  119.       vy1p = cosa * _loc2_.vy - sina * _loc2_.vx;
  120.       if(!_loc1_.lock)
  121.       {
  122.          vx2p = cosa * _loc1_.vx + sina * _loc1_.vy;
  123.          vy2p = cosa * _loc1_.vy - sina * _loc1_.vx;
  124.          P = vx1p * _loc2_.m + vx2p * _loc1_.m;
  125.       }
  126.       else
  127.       {
  128.          vx2p = (- vx1p) * 2;
  129.          vy2p = (- vy1p) * 2;
  130.          P = vx1p * _loc2_.m;
  131.       }
  132.       V = vx1p - vx2p;
  133.       vx1p = (P - _loc1_.m * V) / (_loc2_.m + _loc1_.m);
  134.       _loc2_.vx = cosa * vx1p - sina * vy1p;
  135.       _loc2_.vy = cosa * vy1p + sina * vx1p;
  136.       if(!_loc1_.lock)
  137.       {
  138.          vx2p = V + vx1p;
  139.          _loc1_.vx = cosa * vx2p - sina * vy2p;
  140.          _loc1_.vy = cosa * vy2p + sina * vx2p;
  141.       }
  142.       diff = (_loc2_.ray + _loc1_.ray - dist) / 2;
  143.       cosd = cosa * diff;
  144.       sind = sina * diff;
  145.       _loc2_.tspeed = 0;
  146.       _loc2_._x -= cosd;
  147.       _loc2_._y -= sind;
  148.       if(!_loc1_.lock)
  149.       {
  150.          _loc1_._x += cosd;
  151.          _loc1_._y += sind;
  152.          _loc1_.mTween();
  153.       }
  154.       return true;
  155.    }
  156.    return false;
  157. }
  158. function computeTrack(dotNbr)
  159. {
  160.    points = new Array();
  161.    numPoints = dotNbr;
  162.    mid = new Array();
  163.    i = 0;
  164.    while(i < numPoints)
  165.    {
  166.       angle = 6.283185307179586 / numPoints * i;
  167.       points[i] = eval("piste.d" + i);
  168.       mid[i] = {};
  169.       i++;
  170.    }
  171.    i = 0;
  172.    while(i < numPoints - 1)
  173.    {
  174.       mid[i].x = (points[i]._x + points[i + 1]._x) / 2;
  175.       mid[i].y = (points[i]._y + points[i + 1]._y) / 2;
  176.       i++;
  177.    }
  178.    mid[i].x = (points[i]._x + points[0]._x) / 2;
  179.    mid[i].y = (points[i]._y + points[0]._y) / 2;
  180. }
  181. function computeTrack2(dotNbr)
  182. {
  183.    pointsT = new Array();
  184.    numPointsT = dotNbr;
  185.    midT = new Array();
  186.    i = 0;
  187.    while(i < numPointsT)
  188.    {
  189.       angle = 6.283185307179586 / numPointsT * i;
  190.       pointsT[i] = eval("piste.t" + i);
  191.       midT[i] = {};
  192.       i++;
  193.    }
  194.    i = 0;
  195.    while(i < numPointsT - 1)
  196.    {
  197.       midT[i].x = (pointsT[i]._x + pointsT[i + 1]._x) / 2;
  198.       midT[i].y = (pointsT[i]._y + pointsT[i + 1]._y) / 2;
  199.       i++;
  200.    }
  201.    midT[i].x = (pointsT[i]._x + pointsT[0]._x) / 2;
  202.    midT[i].y = (pointsT[i]._y + pointsT[0]._y) / 2;
  203. }
  204. function computeTrack3(dotNbr)
  205. {
  206.    pointsS = new Array();
  207.    numPointsS = dotNbr;
  208.    midS = new Array();
  209.    i = 0;
  210.    while(i < numPointsS)
  211.    {
  212.       angle = 6.283185307179586 / numPointsS * i;
  213.       pointsS[i] = eval("piste.s" + i);
  214.       midS[i] = {};
  215.       i++;
  216.    }
  217.    i = 0;
  218.    while(i < numPointsS - 1)
  219.    {
  220.       midS[i].x = (pointsS[i]._x + pointsS[i + 1]._x) / 2;
  221.       midS[i].y = (pointsS[i]._y + pointsS[i + 1]._y) / 2;
  222.       i++;
  223.    }
  224.    midS[i].x = (pointsS[i]._x + pointsS[0]._x) / 2;
  225.    midS[i].y = (pointsS[i]._y + pointsS[0]._y) / 2;
  226. }
  227. function randomRacingSound()
  228. {
  229. }
  230. _quality = "LOW";
  231. _global.gameMain = this;
  232. clearInterval(main.robotInt);
  233. main.gameStarted = false;
  234. radVal = 0.017453292519943295;
  235. bounce = -0.2;
  236. cl = 0;
  237. mline = 40;
  238. sfade = 50;
  239. aDec = 10;
  240. type1 = new Object();
  241. type2 = new Object();
  242. tcount = 0;
  243. turn = 0;
  244. carArray = new Array();
  245. hitArray = new Array();
  246. mapArray = new Array();
  247. hitZoneQty = 4;
  248. turnTotal = eval("main.track" + main.pisteNbr + ".turnTotal");
  249. var i = 1;
  250. while(i <= hitZoneQty)
  251. {
  252.    set("borderArray" + i,new Array());
  253.    set("obsArray" + i,new Array());
  254.    set("hitArray" + i,new Array());
  255.    set("gArray" + i,new Array());
  256.    set("zoneArray" + i,new Object());
  257.    zoneArrayTarget = eval("zoneArray" + i);
  258.    zoneArrayTarget.borderArray = eval("borderArray" + i);
  259.    zoneArrayTarget.obsArray = eval("obsArray" + i);
  260.    zoneArrayTarget.hitArray = eval("hitArray" + i);
  261.    zoneArrayTarget.gArray = eval("gArray" + i);
  262.    i++;
  263. }
  264. upArray = new Array();
  265. main.selectTrack(main.pisteNbr);
  266. gotoAndStop("track" + main.pisteNbr);
  267.